home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / bbs / setr180.zip / SETR180.DOC < prev    next >
Text File  |  1997-06-07  |  26KB  |  558 lines

  1.                Squish EchoMail Traffic Report - SETR Version 1.80
  2.               Copyright 1996 -1997 by Don Ludington - ALL RIGHTS RESERVED
  3.                         DAL Software Designs - Jun 1997
  4.  
  5. Introduction
  6. ------------
  7. SETR was a fairly simple program that counts up the number of echomail
  8. messages received/sent by your system using the Squish echomail processor,
  9. and then creates an echomail traffic report.  It has grown to a rather
  10. complex program that also maintains a history of the logs scanned, and will
  11. produce a history report, as well.
  12.  
  13. I was using STATSQ by David Laurent for a long time, until I discovered a
  14. few problems with it not accurately counting the messages, and started
  15. looking for something more accurate.  I started testing every program that
  16. I could find to report on the mail traffic passing thru my system.  I
  17. tested SETS200, by R.J. Ross, but the graphics in it made the reports
  18. difficult to import directly into messages, and it's 2 column report gave
  19. no percentages.  It also didn't report on the traffic by node address,
  20. which I liked about STATSQ.  Then I found SQREPORT by Bob Rakov, and
  21. although it created a very detailed report, it was much too large, and had
  22. to be chopped into pieces to be imported to a message, it also failed to
  23. properly report dupes.
  24.  
  25. I then decided to try my hand at writing my own program to handle the
  26. message traffic reports.  I took the report format from STATSQ, the
  27. progress screen from SETS200, and started coding SETR.  I gave copies to
  28. some others who were running SQUISH on their system, and kept working on
  29. the code.  The final result is SETR.
  30.  
  31. History
  32. -------
  33. Version 1.00
  34. First working version, but it choked on large logs, and died a very
  35. ungraceful death.
  36.  
  37. Version 1.10
  38. Reworked the file size problem, and added the progress screen.  Still slow
  39. on the sorting, but the program would run on a month's worth of logs.
  40.  
  41. Version 1.20
  42. Rewrote the sorting code, and added percentages to the report.  SETR would
  43. now report the percentages of traffic by echo and the origin address.
  44.  
  45. Version 1.30
  46. Added the /AP and /KL command switches.  This would allow you to append
  47. your reports into a single file, and gave you the option to delete the
  48. log file when the report was completed.
  49.  
  50. Version 1.40 - 1.45
  51. Added the history file creation, updating, and reporting code.  SETR would
  52. now keep a running history of it's reports, print a History Report, and
  53. kill the history files on the fly, if you so desired.  Multiple history
  54. files could now be maintained making multiple reports easy to manage.
  55. Debugging of the history reporting code took longer than expected, and
  56. version 1.50 was created.  Versions 1.40 - 1.45 were never released.
  57.  
  58. Version 1.50
  59. I rewrote all of the code to optimize speed.  The program now loaded the
  60. files in one gulp, and sorted in memory.  In testing, a month's worth of
  61. logs could be processed in 51 seconds on my test system, compared to 2
  62. minutes 8 seconds for version 1.40.  SETR now requires more memory as all
  63. of the sorting, and much of the parsing/consolidating is done in memory.
  64. SETR will now create and update an error log (SETR.ERR) if any problem is
  65. encountered during the processing.  I also added some code to handle the
  66. registration key when it is received.  When the registration key is added
  67. to the program, it updates the SETR.EXE file, so that there is no need to
  68. keep the key file on the disk.  I also added the /RH switch to allow SETR
  69. to read an external header file to add to the report headers.
  70.  
  71. Version 1.60
  72. SETR will now look for and use, if they exist, SETR.XCL AND SETR.HDR. There
  73. will be no error report if either of these files can't be found, or are
  74. empty.  Fixed a bug in the daily report computations; it now uses long
  75. integers.  Added /HA switch to allow the history reports to be appended to
  76. each other.  This should allow for unattended operation periods to be more
  77. than the reporting period.  And all switches and options that ask for a
  78. file name will now append the default extension if no extension is on the
  79. command line.  Also added some consolidation of the data being parsed from
  80. the log as the parsing is being performed.  This will allow SETR to process
  81. larger logs, but there is a limit as to how large a log SETR can handle in
  82. one chunk.  See the section on limitations for more info on processing
  83. large log files.  Fixed a bug that would cause SETR to abort if there was
  84. no origin information in the log.  This would only occur if all mail
  85. processed in the log being scanned was locally entered mail, which while
  86. not very likely over the course of a day, could happen, and has been fixed.
  87. Thanks to Joe Negron for reporting that bug.
  88.  
  89. Version 1.70
  90. Added the /I and /Y options to enable tag inclusion files in SETR.  By
  91. doing so I had to remove the default tag exclusion file usage, so SETR no
  92. longer uses SETR.XCL as the default tag exclusion file.  To include or
  93. exclude tags you must use an option on the command line.  Added a routine
  94. to check for the amount of free memory available before SETR tries to sort
  95. the areatags.  If there isn't enough free memory, SETR will abort and
  96. report the condition in it's error log.  Your option then is to break the
  97. log down into chunks for processing.  Added error checking routines for all
  98. filenames entered from the command line.  If the filename entered exceeds
  99. the 12-character DOS standard, SETR will not run, and will report the error
  100. in it's error log.
  101.  
  102. Version 1.80
  103. Added /RF option to enable footer files to be added to the report.  SETR
  104. will now look for and use SETR.FTR as the footer if it exist.  There will
  105. be no error if the file isn't found or is empty.  Also the contents of the
  106. footer file are appended to the reports as is!  There is no trimming or
  107. centering done.  Added the memory checking routine to the origin sorting
  108. routine just as a safety, and modified both memory checking routines to
  109. have SETR report any errors in the SETR.ERR log.
  110.  
  111. License, Warranty, Disclaimer and Distribution
  112. ----------------------------------------------
  113. I'll keep this part short and sweet, and dispense with the legal-ese:
  114.  
  115. License: You are allowed to use SETR for 30 days, after which you must
  116. either register SETR or stop using it completely.  SETR registration is a
  117. license for your use of SETR.  I retain ownership of the software.  A
  118. single registration applies to a single BBS system, regardless of the
  119. number of computers used in the system.
  120.  
  121. Warranty: There isn't one.  The only thing I'll guarantee is that SETR will
  122. take up disk space, and will disappear when deleted.
  123.  
  124. Disclaimer: I'm not responsible for anything bad that happens.  SETR works
  125. here, but I cannot be held responsible for it not working on your computer
  126. or doing any damage to hardware or software.
  127.  
  128. Distribution: SETR is copyrighted material by Don Ludington.  You are given
  129. permission to reproduce and distribute the shareware distribution archive
  130. (ZIP, ARJ, or whatever format it's in), as long as the original contents
  131. are NOT altered in ANY way.  You may NOT charge for the distribution of
  132. this file other than a disk duplication & postage charge.  You may NOT add,
  133. remove, or modify files from the original archive created by Don Ludington.
  134.  
  135. If these terms aren't agreeable with you, then the best thing to do is
  136. delete SETR right now.  I'll do my best to help any user (registered or
  137. not) that wants to use SETR, and I'll act on bug reports quickly, but I
  138. cannot and will not be held responsible for anything bad, like lost data,
  139. disk crashes, or whatever else you can think of.
  140.  
  141. Using SETR
  142. ----------
  143. To run SETR, simply copy the SETR.EXE onto your hard disk, and enter "SETR"
  144. from the directory where the SQUISH.LOG file is.  As long as the SETR.EXE
  145. is in the path, it will produce SETR.RPT in the current directory.
  146.  
  147. By default, with no command line switches or options, SETR will scan the
  148. SQUISH.LOG in the current directory producing SETR.RPT in the current
  149. directory, with no history updating or reporting at all.
  150.  
  151. Limitations and Memory Requirements
  152. -----------------------------------
  153. SETR v1.80 will now check to see if enough memory is free to complete the
  154. processing, and report in it's error log if there is a shortage of memory.
  155. It is unlikely this should ever occur, but is included to assist those
  156. that do have large logs to scan.
  157.  
  158. SETR uses approximately 75K of memory for the program and variables.  The
  159. rest of base memory will be used for compiling the report data until SETR
  160. exceeds the limits of your system.
  161.  
  162. First run: MEM /C, and look at the line below:
  163.  
  164.   Largest executable program size        641,280   (626K)
  165.  
  166. Next subtract 75K from the number above:
  167.  
  168.   626K - 75K = 551K  or about 564,224 bytes (551 * 1024).
  169.  
  170. Next run: FIND /C "Toss=" SQUISH.LOG, and look at the line below:
  171.  
  172. ---------- SQUISH.LOG: 17282
  173.  
  174. To see if SETR can handle your log, multiply the number reported by the
  175. FIND command by 32.  If the answer is less than the results in step 2
  176. above, you should have no problem with SETR.  Example:
  177.  
  178.    17282 * 32 = 553,024,  Step 2 = 564,224.  SETR should run ok.
  179.  
  180. If the results are close, try running SETR anyway, as there is some
  181. consolidation done during the parsing process, and it may be able to handle
  182. the log.  If "ERROR 07 in module SETR" occurs, the only solution is to
  183. break the log in chunks, and process it using the history reporting
  184. functions like so:
  185.  
  186.    SETR LOG=LOG1 HST=BIGLOG /HU
  187.    SETR LOG=LOG2 HST=BIGLOG /HU /HR /HK
  188.  
  189. Repeat the process above as many times as needed to get the chunks small
  190. enough to process.  On my system, it takes more than 2 months worth of logs
  191. in a single file to cause SETR to run out of memory.
  192.  
  193. Command Line Options and Switches
  194. ---------------------------------
  195. SETR has several command line options and switches that control the files
  196. that SETR will use or create and the way SETR will run.
  197.  
  198. /? Switch
  199. ---------
  200. This one is self-explanatory, and tells SETR to display a help screen
  201. containing a brief explanation of the options and switches.
  202.  
  203. /AP Switch
  204. ----------
  205. The /AP switch tells SETR to APPEND the current report to the existing
  206. report file rather than overwriting the old report.  This can be handy for
  207. making a running daily report of the traffic on your system.
  208.  
  209. /KL Switch
  210. ----------
  211. The /KL switch tells SETR to delete or kill the log file being scanned
  212. after the processing is completed.  This was added for those that want to
  213. use SETR to consolidate the SQUISH.LOG into a compact report, and are then
  214. done with the log file.  If any fatal error occurs during the processing,
  215. SETR will not delete the log file to allow you the check the error log,
  216. and decide if the log file is needed or not.
  217.  
  218. LOG= Option
  219. -----------
  220. LOG=filename<.ext> will allow you to scan the SQUISH.LOG regardless of the
  221. name that your system uses to store the SQUISH.LOG.  It will also come in
  222. handy if you happen to rename your logs to something else for ease of
  223. storage.  This argument must contain a minimum of the full filename<.ext>
  224. of the log to be scanned, but can be the full Drive:\Path\Filename<.ext>,
  225. if desired.  If no .ext is given, .LOG will be used!
  226.  
  227. If the LOG= option is used, the file named MUST exist or SETR will abort!
  228.  
  229. RPT= Option
  230. -----------
  231. RPT=filename<.ext> will allow you to make SETR create the report under any
  232. filename, or in any directory.  This again can come in handy for scanning
  233. older logs and creating back reports.  It also can come in handy for
  234. breaking the reports down by the various nets that you process on your
  235. system.  This argument must contain a minimum of the full filename<.ext> of
  236. the report to be created, or the full Drive:\Path\Filename<.ext> if
  237. desired. If no .ext is given, .RPT will be used!
  238.  
  239. Customizing the Report
  240. ----------------------
  241. By default, SETR will look for a SETR.HDR file in the current directory,
  242. and if found, use it while producing the SETR.RPT and SQHIST.RPT reports.
  243. This will allow you to identify your system in the header of the reports,
  244. making it easier to use an automatic message poster to post the reports to
  245. messages.
  246.  
  247. SETR will also look for a SETR.FTR file in the current directory, and if
  248. found, use it while producing the SETR.RPT and SQHIST.RPT reports. This
  249. will allow you to add comments to the bottom of the reports, again making
  250. it easier to use an automatic message poster to post the reports to
  251. messages.
  252.  
  253. The lines in the external header file are read in, trimmed of any leading
  254. or trailing blanks, and then printed to the report with centering.  Note
  255. that there is no limit on the number of lines that can be added to the
  256. header.
  257.  
  258. The lines in the external footer file are read in, trimmed of any leading
  259. or trailing blanks, and then printed to the report without centering.  Note
  260. that there is no limit on the number of lines that can be added to the
  261. footer.
  262.  
  263. Example if SETR.HDR doesn't exist:
  264.  
  265. SETR produces the following header in the reports.
  266.  
  267.                          Squish EchoMail Traffic Report
  268.                                  For 01 Jul 96
  269.  
  270. Example if SETR.HDR does exist:
  271.  
  272. SETR produces the following header in the reports.
  273.  
  274.                          Squish EchoMail Traffic Report
  275.                     The Rebel's Yell BBS - FidoNet 1:2215/118
  276.                                  For 01 Jul 96
  277.  
  278. The SETR.HDR file contains the following in the above example:
  279.  
  280. The Rebel's Yell BBS - FidoNet 1:2215/118
  281.  
  282. /RHfilename<.ext> Option
  283. ------------------------
  284. The /RH option tells SETR to read and use an alternate external header file
  285. while producing the SETR.RPT and SQHIST.RPT report files.  This will allow
  286. you to use a custom header for each report that you generate.  The /RH
  287. option can contain the full filename of the header file in the current
  288. directory, or the complete path and name for the header file.  If no .ext
  289. is given, .HDR will be used!
  290.  
  291. If the /RH option is used, the file named MUST exist or SETR will abort!
  292.  
  293. /RFfilename<.ext> Option
  294. ------------------------
  295. The /RF option tells SETR to read and use an alternate external footer file
  296. while producing the SETR.RPT and SQHIST.RPT report files.  This will allow
  297. you to use a custom footer for each report that you generate.  The /RF
  298. option can contain the full filename of the footer file in the current
  299. directory, or the complete path and name for the footer file.  If no .ext
  300. is given, .FTR will be used!
  301.  
  302. If the /RF option is used, the file named MUST exist or SETR will abort!
  303.  
  304. Excluding and Including AreaTags
  305. --------------------------------
  306. By default, SETR will report on all traffic in your SQUISH.LOG.
  307.  
  308. But SETR can use a "Tag Exclusion File" to exclude the echo tags from the
  309. report.  This file is a plain text file that you can create with any text
  310. editor.  It contains one echo tag that you want to exclude for each line of
  311. the file.  The lines in this file can be commented out by placing a ";" in
  312. column 1 of that line.  There is a 1000 uncommented line limit on the
  313. exclusion list, and if the 1000 line limit is exceeded, SETR will report
  314. the error, but complete the processing using the first 1000 lines only.
  315.  
  316. Any AreaTag listed in the exclusion file will not be reported!
  317.  
  318. Example SETR.XCL contains:
  319.  
  320. BAD_MSGS
  321. BBS_CARNIVAL
  322. NETMAIL
  323.  
  324. This would effectively exclude all tabulation of BAD_MSG, BBS_CARNIVAL and
  325. NETMAIL tags when SETR prepares it's output report (SETR.RPT).
  326.  
  327. SETR can also use a "Tag Inclusion File" to include the echo tags in the
  328. report.  This file is a plain text file that you can create with any text
  329. editor.  It contains one echo tag that you want to include for each line of
  330. the file.  The lines in this file can be commented out by placing a ";" in
  331. column 1 of that line.  There is a 1000 uncommented line limit on the
  332. inclusion list, and if the 1000 line limit is exceeded, SETR will report
  333. the error, but complete the processing using the first 1000 lines only.
  334.  
  335. Any areatag not listed in the inclusion file will not be reported!
  336.  
  337. Example SETR.ICL contains:
  338.  
  339. RENEGADE_BBS
  340.  
  341. This would effectively exclude all tabulation of all traffic except that in
  342. RENEGADE_BBS when SETR prepares it's output report (SETR.RPT).
  343.  
  344. /Ifilename<.ext> Option
  345. -----------------------
  346. The /I switch tells SETR to read a tag inclusion file.  This can contain
  347. the full name of a file in the current directory, or the complete path and
  348. name to the inclusion list file.  When used, the file named must exist, and
  349. contain at least 1 uncommented line, or SETR will error out and abort the
  350. processing.  If no .ext is given, .ICL will be used!  The /I option cannot
  351. be used with the /X option or the /Z option!
  352.  
  353. If the /I option is used, the file named MUST exist or SETR will abort!
  354.  
  355. /Xfilename<.ext> Option
  356. -----------------------
  357. The /X switch tells SETR to read a tag exclusion file.  This can contain
  358. the full name of a file in the current directory, or the complete path and
  359. name to the exclusion list file.  When used, the file named must exist, and
  360. contain at least 1 uncommented line, or SETR will error out and abort the
  361. processing.  If no .ext is given, .XCL will be used!  The /X option cannot
  362. be used with the /I option or the /Y option!
  363.  
  364. If the /X option is used, the file named MUST exist or SETR will abort!
  365.  
  366. Using the History Reporting Feature
  367. -----------------------------------
  368. SETR will create three history files for each report being processed when
  369. the history updating is turned on.  These files are named SQHIST.DTE,
  370. SQHIST.TAG, and SQHIST.ORG by default.  The default report is named
  371. SQHIST.RPT.  During the processing, SETR adds the current log's activity to
  372. the history files, sorts, and consolidates the history files.  When a
  373. History Report is requested, SETR scans the history file and produces the
  374. report showing all traffic up to the last log scanned.
  375.  
  376. The History Report is identical to the Daily Report, except that it
  377. consolidates the reports from the beginning to the end of the history
  378. period into a single report.  This eliminates the need to keep the logs
  379. around in order to produce a consolidated report at the end of the week, or
  380. the end of the month, and the history files are much smaller in size than
  381. having a weeks or months worth of logs stored on the disk.
  382.  
  383. /HU Switch
  384. ----------
  385. The /HU switch tells SETR to create/update the history files during the
  386. processing of the log file being scanned.  The history files are updated
  387. and sorted, but no report is created unless the /HR switch is also present.
  388. WARNING!  Scanning the same log file twice with the /HU switch will cause
  389. SETR to add the same information to the history files twice, and result in
  390. history reports that are useless!
  391.  
  392. /HR Switch
  393. ----------
  394. The /HR switch tells SETR to produce a History Report from the history data
  395. files.  This can be used at any time to get the current history report if
  396. needed.  No files are deleted, but if there is an older history report in
  397. the directory, it will be overwritten.  SETR must have been run at least
  398. once with the /HU switch for a report to be generated.
  399.  
  400. /HK Switch
  401. ----------
  402. The /HK switch tells SETR to delete the history data files after the
  403. current processing is completed.  This switch was added to simplify the
  404. maintenance of the history data files.
  405.  
  406. If any fatal error occurs, the history files will not be deleted!
  407.  
  408. /HA Switch
  409. ----------
  410. The /HA switch tells SETR to APPEND the current history report to the
  411. existing history report file rather than overwriting the old report.  This
  412. can be handy for making a running history report of the traffic on your
  413. system.
  414.  
  415. HST= Option
  416. -----------
  417. HST=filename(no ".ext") will make SETR use a different filename for it's
  418. history files, thus allowing you to maintain history files for each net
  419. that your system processes, or to keep weekly or monthly history files with
  420. ease.  This is the base filename, and cannot contain an extension!  It can
  421. however contain a path as long as it includes the base filename like this:
  422.  
  423.      SETR HST=C:\SQ\HISTDATA\FIDONET
  424.  
  425. The above example would cause SETR to create the history report
  426. FIDONET.RPT, and the FIDONET.DTE, FIDONET.TAG, and FIDONET.ORG history
  427. files in the HISTDATA sub directory of C:\SQ.
  428.  
  429. WARNING!  The directory must already exist!
  430.  
  431. /Yfilename Option
  432. -----------------
  433. The /Y option is actually a combination of the /I option, and the HST=
  434. option.  The difference is that you only supply the basename of the tag
  435. inclusion file, and SETR will use the same basename for its history files
  436. as well.  This will make it very easy for you to produce and maintain your
  437. reports and history files by network.  This can contain the basename of a
  438. file in the current directory, or the complete path and basename to the tag
  439. inclusion file and history files to be used.  Once again, the tag inclusion
  440. file named must exist and contain at least 1 uncommented line and must have
  441. a .ICL extension for SETR to complete the processing.
  442.  
  443. If the /Y option is used, the inclusion file named MUST exist or SETR will
  444. abort!
  445.  
  446. /Zfilename Option
  447. -----------------
  448. The /Z option is actually a combination of the /X option, and the HST=
  449. option.  The difference is that you only supply the basename of the tag
  450. exclusion file, and SETR will use the same basename for its history files
  451. as well.  This will make it very easy for you to produce and maintain your
  452. reports and history files by network.  This can contain the basename of a
  453. file in the current directory, or the complete path and basename to the tag
  454. exclusion file and history files to be used.  Once again, the tag exclusion
  455. file named must exist and contain at least 1 uncommented line and must have
  456. a .XCL extension for SETR to complete the processing.
  457.  
  458. If the /Z option is used, the exclusion file named MUST exist or SETR will
  459. abort!
  460.  
  461. Making Network Reports
  462. ----------------------
  463. To produce a network report is not that difficult using SETR and the
  464. switches and options provided.  Let's say that you run 3 nets on your
  465. system: FidoNet, ITCNet, and RGSNet.  Step one to creating network based
  466. reports and history files is to create a FIDONET.XCL, ITCNET.XCL, and
  467. RGSNET.XCL file in the directory where you will be doing the reports, or
  468. another location on your system.  The FIDONET.XCL file would contain all of
  469. the AreaTags from the ITCNet and RGSNet portion of your SQUISH.CFG file,
  470. and the ITCNET.XCL would contain all of the FidoNet and RGSNet Areatags
  471. from your SQUISH.CFG file, and so on for the RGSNET.XCL.
  472.  
  473. Next, each day when you do your reports, you would run SETR three times
  474. like so:
  475.  
  476. SETR RPT=FNDAILY.RPT /ZFIDONET /HU /HR
  477. SETR RPT=INDAILY.RPT /ZITCNET /HU /HR
  478. SETR RPT=RNDAILY.RPT /ZRGSNET /HU /HR
  479.  
  480. or:
  481.  
  482. SETR RPT=FNDAILY.RPT /XFIDONET.XCL HST=FIDONET /HU /HR
  483. SETR RPT=INDAILY.RPT /XITCNET.XCL HST=ITCNET /HU /HR
  484. SETR RPT=RNDAILY.RPT /XRGSNET.XCL HST=RGSNET /HU /HR
  485.  
  486. or:
  487.  
  488. SETR RPT=FNDAILY.RPT /XFIDONET HST=FIDONET /HU /HR
  489. SETR RPT=INDAILY.RPT /XITCNET HST=ITCNET /HU /HR
  490. SETR RPT=RNDAILY.RPT /XRGSNET HST=RGSNET /HU /HR
  491.  
  492. All of the examples would produce the exact same results, and illustrate
  493. how the /Z option saves work on the command line.  Any other desired
  494. switches could be added for the options that you want, but the results of
  495. the above commands would create your Daily Traffic Reports for each
  496. network, plus a History Report for each network named, ie: FIDONET.RPT,
  497. ITCNET.RPT, and RGSNET.RPT.  There would also be a NETWORK.DTE,
  498. NETWORK.TAG, and NETWORK.ORG history file created/updated for each of the
  499. three networks listed above.  On the last day of the reporting period,
  500. weekly or monthly (whichever you decide to use), you would add the /HK
  501. switch to all 3 of the above commands to delete the history files after
  502. processing, and you would be all set for the next reporting period.  Just
  503. remember to rename or move the *.RPT files out of the way before starting
  504. the new reporting period.
  505.  
  506. If you wanted your reports and history files in a sub directory, then the
  507. following example could be used:
  508.  
  509. SETR RPT=C:\SQ\REPORTS\FNDAILY.RPT /ZC:\SQ\REPORTS\FIDONET /HU /HR
  510. SETR RPT=C:\SQ\REPORTS\INDAILY.RPT /ZC:\SQ\REPORTS\ITCNET /HU /HR
  511. SETR RPT=C:\SQ\REPORTS\RNDAILY.RPT /ZC:\SQ\REPORTS\RGSNET /HU /HR
  512.  
  513. or:
  514.  
  515. SETR RPT=C:\SQ\REPORTS\FNDAILY /ZC:\SQ\REPORTS\FIDONET /HU /HR
  516. SETR RPT=C:\SQ\REPORTS\INDAILY /ZC:\SQ\REPORTS\ITCNET /HU /HR
  517. SETR RPT=C:\SQ\REPORTS\RNDAILY /ZC:\SQ\REPORTS\RGSNET /HU /HR
  518.  
  519. The examples above will produce all of the reports and history files in the
  520. C:\SQ\REPORTS directory, but you will have to make sure that you create the
  521. three exclusion list files in that directory before running SETR this way.
  522.  
  523. Acknowledgements
  524. ----------------
  525. Bob Lotspeich, 1:265/124, for being such a great beta tester and document
  526. proofreader.
  527.  
  528. Joe Negron, 1:278/216, for some coding used in the registration routines,
  529. and for catching a nasty little bug in the daily reporting routine that I
  530. had overlooked.
  531.  
  532. R.J. Ross, 1:134/75, David Laurent, 2:322/10, Bob Rakov, 1:203/53, for
  533. their programs that inspired me to write this one.
  534.  
  535. Registration
  536. ------------
  537. SETR is not free, nor is SETR crippled to force registration.  SETR is
  538. fully functional, and will always remain so.  The registered copies have no
  539. unregistered message.
  540.  
  541. Why register?  Besides a clear conscience, you will get a registration key
  542. that will work for all future versions of SETR, and will remove the
  543. Unregistered message on the SETR status screen.
  544.  
  545. The registration fee for your unique code is $5 for a non-commercial BBS.
  546. The registration fee for a commercial BBS, defined if you run your BBS in
  547. the course of a commercial business, is $10.  Contact me at one of the
  548. addresses below for site licensing information.  Please print the file
  549. REGISTER.FRM and fill it out.
  550.  
  551. Comments and suggestions for improvement will always be accepted, and
  552. should be sent to me at 1:2215/118 or via snail mail at the address below:
  553.  
  554.                            Don Ludington
  555.                          113 Palmetto Ave.
  556.                           Akron, OH 44301
  557.  
  558.